package com.aspose.cells;

public class ListObjectCollection extends CollectionBase {
   private Worksheet c;
   zaib b;

   ListObjectCollection(Worksheet sheet) {
      this.c = sheet;
      this.b = new zbse(this);
   }

   void a() {
      if (this.getCount() >= 1) {
         this.b = new zbsf(this);

         for(int var1 = this.getCount() - 1; var1 > -1; --var1) {
            ((ListObject)this.a.get(var1)).D();
         }

      }
   }

   void b() {
      this.b = new zbse(this);
   }

   Style a(int var1, int var2) {
      ListObject var3 = this.c(var1, var2);
      return var3 != null ? var3.d(var1, var2) : null;
   }

   void a(ListObjectCollection var1, CopyOptions var2) {
      this.clear();
      boolean var3 = var1.c.c() != this.c.c() && !var2.a;

      for(int var4 = 0; var4 < var1.getCount(); ++var4) {
         ListObject var5 = var1.get(var4);
         ++this.c.c().j;
         String var6 = "Table" + this.c.c().j;
         if (var3 && zbsg.a(this.c.c(), var5.getDisplayName()) == null) {
            var6 = var5.getDisplayName();
         }

         ListObject var7 = new ListObject(this, var6, this.c.c().j);
         var7.a(var5, var2);
         this.a(var7);
      }

   }

   void a(ListObjectCollection var1, CellArea var2, CellArea var3, CopyOptions var4) {
      for(int var5 = 0; var5 < var1.getCount(); ++var5) {
         ListObject var6 = var1.get(var5);
         int var7 = var6.getStartRow();
         int var8 = var6.getStartColumn();
         int var9 = var6.getEndRow();
         int var10 = var6.getEndColumn();
         if (var2.StartRow <= var7 && var2.StartColumn <= var8 && var2.EndRow >= var9 - 1 && var2.EndColumn >= var10) {
            ++this.c.c().j;
            ListObject var11 = new ListObject(this, "Table" + this.c.c().j, this.c.c().j);
            var11.a(var6, var4);
            int var12 = var9 - var7;
            int var13 = var10 - var8;
            var11.a(var3.StartRow + var6.getStartRow() - var2.StartRow);
            var11.b(var3.StartColumn + var6.getStartColumn() - var2.StartColumn);
            var11.c(var11.getStartRow() + var12);
            var11.d(var11.getStartColumn() + var13);
            this.a(var11);
         }
      }

   }

   int b(int var1, int var2) {
      for(int var3 = this.getCount() - 1; var3 > -1; --var3) {
         ListObject var4 = (ListObject)this.a.get(var3);
         if (var1 >= var4.getStartRow() && var1 <= var4.getEndRow() && var2 >= var4.getStartColumn() && var2 <= var4.getEndColumn()) {
            return var3;
         }
      }

      return -1;
   }

   ListObject c(int var1, int var2) {
      for(int var3 = 0; var3 < this.getCount(); ++var3) {
         ListObject var4 = (ListObject)this.a.get(var3);
         if (var1 >= var4.getStartRow() && var1 <= var4.getEndRow() && var2 >= var4.getStartColumn() && var2 <= var4.getEndColumn()) {
            return var4;
         }
      }

      return null;
   }

   public ListObject get(int index) {
      return (ListObject)this.a.get(index);
   }

   public ListObject get(String tableName) {
      for(int var2 = 0; var2 < this.a.size(); ++var2) {
         ListObject var3 = (ListObject)this.a.get(var2);
         if (com.aspose.cells.b.a.zv.b(var3.f().toUpperCase(), tableName.toUpperCase())) {
            return var3;
         }
      }

      return null;
   }

   ListObject a(String var1) {
      for(int var2 = 0; var2 < this.a.size(); ++var2) {
         ListObject var3 = (ListObject)this.a.get(var2);
         if (com.aspose.cells.b.a.zv.b(var3.getDisplayName().toUpperCase(), var1.toUpperCase())) {
            return var3;
         }
      }

      return null;
   }

   public int add(int startRow, int startColumn, int endRow, int endColumn, boolean hasHeaders) {
      ++this.c.c().j;
      ListObject var6 = new ListObject(this, "Table" + this.c.c().j, this.c.c().j);
      var6.a(startRow, startColumn, endRow, endColumn, hasHeaders);
      this.a(var6);
      return this.getCount() - 1;
   }

   public int add(String startCell, String endCell, boolean hasHeaders) {
      byte var4 = 0;
      byte var5 = 0;
      byte var6 = 0;
      byte var7 = 0;
      int[] var8 = new int[]{var4};
      int[] var9 = new int[]{var6};
      CellsHelper.a(startCell, var8, var9);
      int var13 = var8[0];
      int var15 = var9[0];
      int[] var10 = new int[]{var5};
      int[] var11 = new int[]{var7};
      CellsHelper.a(endCell, var10, var11);
      int var14 = var10[0];
      int var16 = var11[0];
      ++this.c.c().j;
      ListObject var12 = new ListObject(this, "Table" + this.c.c().j, this.c.c().j);
      var12.a(var13, var15, var14, var16, hasHeaders);
      this.a(var12);
      return this.getCount() - 1;
   }

   int c() {
      ++this.c.c().j;
      ListObject var1 = new ListObject(this, "Table" + this.c.c().j, this.c.c().j);
      this.a(var1);
      return this.getCount() - 1;
   }

   void d(int var1, int var2) {
      for(int var3 = 0; var3 < this.getCount(); ++var3) {
         if (this.get(var3).b(var1, var2)) {
            this.removeAt(var3--);
         }
      }

   }

   void a(int var1, int var2, int var3, int var4) {
      for(int var5 = 0; var5 < this.getCount(); ++var5) {
         ListObject var6 = this.get(var5);
         if (var6.getStartRow() >= var1 && var6.getEndRow() <= var3 && var6.getStartColumn() >= var2 && var6.getEndColumn() <= var4) {
            this.removeAt(var5--);
         }
      }

   }

   void a(CellArea var1, int var2, int var3) {
      for(int var4 = 0; var4 < this.getCount(); ++var4) {
         if (this.get(var4).a(var1, var2, var3)) {
            this.removeAt(var4--);
         }
      }

   }

   boolean b(int var1, int var2, int var3, int var4) {
      for(int var5 = 0; var5 < this.getCount(); ++var5) {
         if (!this.get(var5).a(var1, var2, var3, var4)) {
            return false;
         }
      }

      return true;
   }

   void e(int var1, int var2) {
      for(int var3 = 0; var3 < this.getCount(); ++var3) {
         if (this.get(var3).a(var1, var2)) {
            this.removeAt(var3--);
         }
      }

   }

   int a(ListObject var1) {
      if (var1.getDisplayName() != null) {
         this.d().c().d.put(var1.getDisplayName().toUpperCase(), var1);
      }

      com.aspose.cells.b.a.a.ze.a(this.a, (Object)var1);
      return this.getCount() - 1;
   }

   ListObject a(int var1) {
      for(int var2 = 0; var2 < this.getCount(); ++var2) {
         if (this.get(var2).a() == var1) {
            return this.get(var2);
         }
      }

      return null;
   }

   Worksheet d() {
      return this.c;
   }

   boolean f(int var1, int var2) {
      for(int var3 = 0; var3 < this.getCount(); ++var3) {
         ListObject var4 = this.get(var3);
         if (var4.B() && var1 == var4.getAutoFilter().h().StartRow && var2 >= var4.getAutoFilter().h().StartColumn && var2 <= var4.getAutoFilter().h().EndColumn) {
            return true;
         }
      }

      return false;
   }

   void e() {
      for(int var1 = 0; var1 < this.getCount(); ++var1) {
         this.get(var1).C();
      }

   }

   public void updateColumnName() {
      for(int var1 = 0; var1 < this.getCount(); ++var1) {
         this.get(var1).updateColumnName();
      }

   }

   void b(ListObject var1) {
      this.a.remove(var1);
   }
}
